package cn.lg.soar.database.config;

import com.baomidou.mybatisplus.annotation.DbType;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;

/**
 * 多租户配置
 * @author luguoxiang
 * @date 2022/4/16
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Getter
@Setter
@ConfigurationProperties(value = "lg.database")
public class DatabaseProperties {

    /**
     * 密钥（数据库字段加密）
     */
    private String aesSecret;

    /**
     * 启用多租户（实体类需实现 ITenantEntity 接口），默认不启用
     */
    private Boolean enabledTenant = false;

    /**
     * 启用数据权限，默认启用
     */
    private Boolean enabledDataPermission = true;

    /**
     * 数据库类型（用于配置分页插件）
     */
    private DbType dbType = DbType.MYSQL;

    /**
     * 分页覆盖
     */
    private Boolean pageOverflow = false;

    /**
     * 最大分页
     */
    private Long maxPageSize = 1000L;

    /**
     * 链式树形数据更新sql模板
     */
    private String updateTreeLinkSqlTemplate = "UPDATE {0} SET {1} = REPLACE({1}, ?, ?) WHERE {1} LIKE ?";

}
